In most of the cases, devices or computers loaded with a multi-task OS (operating system) such as Linux® or Windows® adopt a dynamic loading system. This is because the dynamic loading system is a system for determining an address of a main body of the program or a shared library to be used in executing an execution binary program for the first time, and it is necessary to perform relocation processing, in other words, perform address resolution of symbols to be used. In view of this, information on the execution binary program includes relocation information/symbol information. When the program is executed, a dynamic loader determines the address of a function or a variable by using the relocation information/symbol information. Accordingly, the relocation information/symbol information is essential information in executing the execution binary program of the dynamic loading system. Therefore, in the conventional art, the relocation information/symbol information is required to be included in the execution binary image, along with text information/data information, which is an execution code of the execution binary program.
As an example of the conventional art for reducing the data size of an ROM (read only memory) under the above circumstances, there is disclosed a technology. According to the technology, after a program is executed for the first time using a built-in loader, a structure necessary for address resolution of a shared library is stored in a storage other than the ROM. Then, the structure is deleted from the execution binary program, and address resolution is performed by relocating a pointer, with use of information necessary for address resolution stored in the storage in executing the program for the second time (see e.g. Japanese Unexamined Patent Publication No. Hei 10-228381).
In the conventional art, however, a storage capacity for storing the structural data is required, despite reduction of the data size of the execution binary program to be loaded in the ROM by storing the structure necessary for address resolution of the shared library in an external storage or the other storage. This arrangement necessitates use of an additional storage area.
Also, in operating the execution binary program on the dynamic loading system, it is not clear in what condition which part of the relocation information/symbol information in the execution binary program is to be actually deleted.
In addition to the above drawbacks, the location address of text information/data information, as a code main body of the execution binary program, may be changed resulting from a change of the internal configuration of the execution binary program, if the information on the execution binary program is partly edited or deleted. In such a case, it is necessary to detect a site corresponding to the address position pointed by the pointer so as to utilize the execution binary program before the change has occurred, within the entirety of the execution binary program, and correct the address of detected the site by the change. Without the correction, the execution binary program is not operated as a program. It is, however, extremely difficult for the execution binary program to detect the address position where the change has occurred. Thus, the conventional art has a drawback that it is impossible to delete relocation information/symbol information from the execution binary program by a simple operation.